//
//  TYPlayer.h
//  AngerDragon
//
//  Created by gaotime_macbook_2 on 11-12-6.
//  Copyright 2011 __MyCompanyName__. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "cocos2d.h"
#import "TYPlayerProtocol.h"
#import "TYPlayerCommunicateProtocol.h"

@protocol TYStateSystemProtocol;
@protocol TYPlayerLifeSystemProtocol;
@protocol TYDisplaySystemProtocol;
@protocol TYPlayerAttackSystemProtocol;

/// player类必须实现 TYPlayerProtocol协议
/// TYPlayerCommunicateProtocol协议中包含了外界跟player通信的全部接口, 外界必须按照规定的协议来跟player通信.
@interface TYPlayer : CCSprite <TYPlayerProtocol, TYPlayerCommunicateProtocol>{

	/// 状态机系统
	id<TYStateSystemProtocol> m_state_system_protocol;
	
	/// 生命系统
	id<TYPlayerLifeSystemProtocol> m_life_system_protocol;
	
	/// 攻击系统
	id<TYPlayerAttackSystemProtocol> m_attack_system_protocol;
	
	/// 显示系统
	id<TYDisplaySystemProtocol> m_display_system_protocol;
	
	/// 荣誉系统
	
	/// 道具系统
	
}

/// 
@property (assign) id<TYDisplaySystemProtocol> m_display_system_protocol;



/// 获取player跟外界沟通的协议接口对象
+ (id<TYPlayerCommunicateProtocol>) getPlayerCommunicateProtocol;

/// 创建一个player对象
//+ (TYPlayer *) initWith

@end
